﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RepositoryFramework
{
	/// <summary>
	/// Class <see cref="NameValue"/> define name-value container
	/// </summary>
	/// <typeparam name="TName">The type of the name.</typeparam>
	/// <typeparam name="TValue">The type of the value.</typeparam>
	public class NameValue<TName, TValue>
	{
		#region Properties
		/// <summary>
		/// Gets the name.
		/// </summary>
		/// <value>
		/// The name.
		/// </value>
		public TName Name { get; private set; }

		/// <summary>
		/// Gets the value.
		/// </summary>
		/// <value>
		/// The value.
		/// </value>
		public TValue Value { get; private set; }
		#endregion

		#region .ctor
		/// <summary>
		/// Initializes a new instance of the <see cref="NameValue{TName, TValue}"/> class.
		/// </summary>
		/// <param name="name">The name.</param>
		/// <param name="value">The value.</param>
		public NameValue(TName name, TValue value)
		{
			Name = name;
			Value = value;
		}
		#endregion
	}
}
